package com.healthy.sport.demo.datasource;

import lombok.extern.slf4j.Slf4j;


/**
 * @author ln
 * @Description: 这个类是为了解决多线程访问全局变量的问题
 * @date 2020/11/9
 */
@Slf4j
public class DynamicDataSourceContextHolder {

    private static final ThreadLocal<String> currentDataSource = new ThreadLocal();

    /**
     * 清楚当前数据源
     */
    public static void clear() {
        currentDataSource.remove();
    }


    /**
     * 获取当前使用的数据源
     *
     * @return 当前使用数据源的ID
     */
    public static String get() {
        return currentDataSource.get();
    }

    /**
     * 设置当前使用的数据源
     *
     * @param value 需要设置的数据源ID
     */
    public static void set(String value) {

        currentDataSource.set(value);
    }


}
